Alert signal generation

ABSTRACT

An alert signal of a communication device ( 1 ), such as the ring signal of a mobile phone, comprises a set of musical samples that are played by the communication device in sequence. The sequence may be randomly generated, either in response to the event causing the alert or in a set up phase. Alternatively, the user of the device can create a tune to be used as the alert signal by creating a sequence of samples. The user selects samples from a list of samples to create the sequence of samples as individual samples may appear more than once in the tune.

The present invention relates to alert signal generation.

Communications devices such as telephones, mobile phones and pagersgenerally produce an audible alert signal when a user needs to attend tothe device, e.g. in the event of an incoming call or reception of a newmessage. Whilst such alert signals were originally simple repeating tonepatterns, musical alert signals have now become commonplace. Some mobilephones allow the user to select from tunes programmed into the mobilephone by its manufacturer and others, e.g. the Ericsson SH888, allow theuser to enter their own tunes note by note.

Most people are not musicians and find programming a pleasing tune intoa device note-by-note extremely difficult, if not impossible. For theseusers, preprogrammed tunes have hitherto been the only option. Thepreprogrammed tunes are undesirable because they provide insufficientscope for personalisation. Such personalisation is not simply a matterof taste. In a crowded environment, for example a commuter train, it isdesirable that each communication device produce a unique alert signalso that people do not mistakenly respond to an alert signal when theirown device has actually remained silent.

According to the present invention, there is provided a method ofalerting a user of a communications device to an incoming communication,the method comprising detecting an incoming communication, obtaining asequence in which data defining a plurality of musical samples is to beread from a memory, and responding to the detection of an incomingcommunication by reading said data from the memory in the obtainedsequence and generating an audio signal in dependence on said data.

According to the present invention, there is also provided acommunication device, for example a mobile phone, comprising means fordetecting an incoming communication, acoustic signal generation meansfor generating an acoustic signal, a memory storing data defining aplurality of musical samples, and processing means configured to readthe data defining musical samples from the memory in a sequence andcontrol the acoustic signal generator, in dependence thereon, so as tocause the acoustic signal generator to produce an alert signal definedby the read musical samples.

Musical samples are short bits of music, comprising at least one note orrest. Rests may be treated as “notes” with a frequency of zero Hz andexplicitly defined. Alternatively, rests may be represented by gapsbetween periods for which there are explicit note defining data. It willbe understood that the term “sample” in this context does notnecessarily imply the sampling of an analogue or digital musical signal.

The musical samples may comprise time domain signal samples or frequencydomain coefficients. However, it is preferred, in the interests ofefficient use of memory, that the musical samples each comprise at leastone set of digital codes, each set of codes comprisingfrequency-defining data and duration-defining data for each note of eachsample, and optionally note start timing data.

Preferably, the frequency-defining data for each note comprises a coderepresenting pitch quantised according to a predetermined scale, e.g.the major scale, the minor scale, the Japanese scale, the Hungarianmajor scale but preferably the chromatic scale

The sequence may be obtained by a user entering the sequence using userinput means or by generating a non-deterministic sequence, for exampleusing a random number generating function.

The samples may be loaded into the memory during manufacture of adevice. Alternatively, means may be provided so that a user can createthe samples.

According to the present invention, there is further provided technicalmanifestation of software, the software comprising instructions forcausing a communication device, comprising means for detecting anincoming communication, acoustic signal generation means for generatingan acoustic signal, a memory storing data defining a plurality ofmusical samples and software-controllable processing means for readingfrom said memory and controlling the acoustic signal generation means,to operate in accordance with a method according to the presentinvention.

Said instructions are preferably represented by temporal or spatialvariation of a physical property. The physical property may be charge ina memory cell, magnetic field magnitude or orientation, reflectivity orthe phase or amplitude of an electromagnetic wave.

Embodiments of the present invention will now be described, by way ofexample, with reference to the accompanying drawings, in which:

FIG. 1 shows the physical form of a mobile phone;

FIG. 2 is a block diagram of the mobile phone of FIG. 1;

FIG. 3 illustrates part of the ROM of the mobile phone of FIG. 1;

FIG. 4 is a flow diagram showing the display of the mobile phone of FIG.1 during ring signal selection;

FIG. 5 is a flow diagram showing the display of the mobile phone of FIG.1 during ring signal selection;

FIG. 6 is a flow diagram showing the display of the mobile phone of FIG.1 during ring signal selection;

FIG. 7 is a flowchart illustrating the generation of a ring signal; and

FIG. 8 is a flowchart illustrating the generation of a preview of a ringsignal.

Referring to FIG. 1, a mobile phone has a user interface comprising akeypad 2, a liquid crystal display 3, an on/off button 4, a speaker 5and a microphone 6.

The keypad 2 has a first group of keys 7 for the inputting ofalphanumerical characters for dialing, generation of short messageservice messages, adding names, numbers to an internal list thereof etc.The keypad 2 additionally comprises left and right multifunction keys 8a, 8 b, two call handling keys 9 and a “navigation” key 10. Thefunctions of the multifunction keys 8 depend on the current state of thephone 1 and the navigation key 10 is used for navigating through menusdisplayed by the display 3.

The call handling keys 9 are used for establishing a call or aconference call, terminating a call or rejecting a call.

The navigation key 10 rocks about a transverse axis, a user pressing anupper part to move up a menu and a lower part to move down a menu.

Referring to FIG. 2, electronically the mobile phone 1 comprises an rfmodule 14 connected to an antenna 23, a baseband module 15, an audiomodule 16, a controller 17, a SIM card 19, a display driver 18 for thedisplay 3, RAM 20, flash ROM 21 and a buzzer 22.

The rf and baseband modules 14, 15 are controlled by the controller 17in accordance with user inputs, entered using the keypad 2, controlprograms stored in the ROM 21 and the contents of the SIM card 19 in asubstantially conventional manner.

The audio module 16 provides analogue-to-digital conversion for signalsfrom the microphone 6 so that they can be input to the baseband module15. The audio module 16 also provide digital-to-analogue conversion andamplification of signals from the baseband module for signals to beoutput by the speaker 5.

The buzzer 22 is connected to a 1-bit output port of the controller 17.

Referring to FIG. 3, the ROM 21 contains a section given over to thestorage of musical samples. These samples are available for thegeneration of a ringing signal by the phone. The samples are arranged ina plurality of groups 30, the members of each group 30 beingcharacteristic of a different musical style, e.g. baroque, pop, dance,jazz, blues etc.. Each group contains the same number of members 31 andeach member 31 consists of a sample name and a musical sample, at leastone note long, with each note comprising a pitch value, a start timerelative to the start of the sample (the sample may start with a rest),in the case of the first note, or the start of the previous note, in thecase of subsequent notes, and a note duration. The end of each sample ismarked by a null character. Each group 30 has a name and a respectivesample list 32 associated with it. Each sample list 32 comprises a listof pointers to the starts of the members 31 of the associated group 30.A style list 33 contains pointer to the first element of each of thesample lists 32.

The samples are programmed into the ROM 21 during manufacture of thephone 1.

Tunes can be built up from the musical samples 31 and any tuneconstructed from the samples can be represented by a first numberidentifying a style and a set numbers which maps onto the elements ofthe sample list 32 of the associated style.

In addition to the musical samples 31, the ROM 21 contains a ring setupprogram which enables a user to create and select ring signalsconstructed from the musical samples 31.

In order to set up the ring signal, the user of the mobile phone 1selects a “ring setup” option from a displayed menu in the conventionalmanner. In the following, it is to be understood that the processing ofuser inputs and the generation of display images is performed by thecontroller 17 in accordance with the ring setup program.

Referring to FIG. 4, on selecting the “ring setup” option, the user ispresented with a first menu d1 which enables the user to choose betweenpre-defined (i.e. factory set) ring signals, user defined ring signalsand randomly generated ring signals.

If the user selects the “pre-defined” option using the navigation key 10and the left multifunction key 8 a, a second menu d2 is displayed. Thesecond menu m2 presents the user with a list of musical styles. The listof musical styles is produced by the controller 17 reading the names ofthe groups 30. The user can scroll up and down the list using thenavigation key 10 and it will be appreciated that the list may containmore members than can be displayed simultaneously on the mobile phone'sdisplay 3.

When the user selects a style using the navigation key 10 and the leftmultifunction key 8, a third menu d3 is displayed. The third menu d3presents the user with a list of pre-defined tunes in the chosen style.

The pre-defined tunes are also stored in the ROM 21. A predeterminedregion of the ROM 21 comprises a plurality of tune definitions, eachcomprising a style code (1 byte), a null-terminated name string and aset of 1 byte sample identifying codes terminated with a null character.The set of tune definitions is terminated by two null characters. Inorder to generate the third menu, the controller 17 reads through thisarea of the ROM 21, extracting and displaying the name strings for tuneshaving the appropriate style code.

If the location of any of the tune definitions matches the location ofthe currently selected tune definition, stored in the SIM card 19, anasterisk is displayed beside the tune's name.

If the user now presses the left multifunction key 8 a, he is presentedwith a fourth menu d4. This menu is headed with the name of the tuneselected in the third menu d3 and contains “Play” and “Accept” asoptions. If the user selects the “Play” option using the navigation key10 and the left multifunction key 8 a, the selected tune is played tothe user by the controller 17 using the buzzer 22. This process will beexplained in more detail below. If the user does not wish to use theselected tune, the user now presses the right multifunction key 8 b toreturn to the third menu d3.

However, if the user does wish to use the selected tune, the. userselects “Accept” using the navigator key 10 and presses the leftmultifunction key 8 a. This causes the controller 17 to save thelocation of the selected tune's definition in the ROM 21 in the SIM card19 at a predetermined location, replacing the existing entry. Thecontroller 17 then redisplays the third menu d3 which now has anasterisk beside the newly selected tune's name.

The user can repeatedly press the right multifunction key 8 b to returnto the mobile phone's main menu.

Referring to FIG. 5, if the user select “User defined” in the first menud1, the user is presented with a fifth menu d5. The fifth menu d5 givesthe user the options of choosing a tune that has already been created,adding a new tune, editing an existing tune and deleting an existingtune.

If the user selects the “Choose” option using the navigation key 10 andthe left multifunction key 8 a, the user is presented with a sixth menud6. The sixth menu d6 is similar to the third menu d3. However, insteadof displaying tunes whose definitions are in the ROM 21, the sixth menud6 contains the tunes whose definitions are presently stored in the SIMcard 19. These definitions are stored in the same format as those in theROM 21 and if the location of any of them matches the location of thecurrently selected ring signal, an asterisk is displayed by its name.

The user can select and play tunes and set one as the current ringsignal using a seventh menu d7 in the same way as for pre-defined tuneswith the fourth menu d4.

If the user selects the “Add” option from the fifth menu d5, the user ispresented with an eighth menu d8. The eighth menu d8 lists the stylenames from the groups 30. On selecting one of the styles using thenavigation key 10 and the left multifunction key 8 a, the user ispresented with an ninth menu d9 listing the names of the musical samples31 belonging to the selected style.

A user can select samples using the navigation key 10 and the leftmultifunction key 8 a for addition to the new tune. When a sample namebecome highlighted by means of the navigation key 10, the named sampleis played using the buzzer 22. The user can select the highlighed samplefor addition to the tune by pressing the left multifunction key 8 a,which causes the user to be presented with a tenth menu d10 giving theuser the options of playing the new tune at its present state ofdevelopment or accepting the new tune. If the user selects the playoption in the tenth menu d10, the tune is played by the controller 17using the buzzer 22.

If the tune is not complete and is not to be abandoned, the user pressesthe right multifunction key 8 b and is returned to the ninth menu d9.The newly added sample will now be shown added to a list of the selectedsamples below the menu options. If the user now presses the rightmultifunction key 8 b, the newly added sample is removed from the list.Further operations of the right multifunction key 8 will remove furthersamples, if there are any.

If, while the tenth menu d10 is being displayed, the user selects the“Accept” option, the user is presented with a name entry display d11.The user can then enter a name for the tune using the keypad 2. When atleast one character has been entered, the user can press the leftmultifunction key 8 a to store the new tune's definition in the SIM card19 so that it can be selected using the “Choose” option in the fifthmenu d5.

The foregoing illustates the process of adding a new tune in generalterms, it will therefore be understood that means will be provided tohandle the case where adding the new tune will cause the available spacein the SIM card 19 to be exceeded.

Returning now to the fifth menu d5, the user may select an “Edit”option. If the user selects the “Edit” option, the user is presentedwith an eleventh menu d12 which contains the names of all of the tunesstored in the SIM card 19. If a user now selects one of these tunesusing the navigation key 10 and the left multifunction key 8 a, the useris presented with a twelfth menu d13 which lists the names of all of thesamples in the style of the selected tune and, below the list, theindices of the samples forming the tune.

With the twelfth menu d13 being displayed, the user can remove samples.from the tune by pressing the right multifunction key 8 b and addsamples to the tune and play the tune in the same manner as with theninth and tenth menus d9, d10 using a thirteenth menu d14.

The thirteenth menu d14 provides the user with the option of acceptingthe changes to the selected tune and when this option is selected andthe left multifunction key 8 a pressed, the edited tune is stored in theSIM card 19 and the user is returned to the mobile phone's main menu. Ifthe number of sample instances forming the tune has changed, the portionof the tune definition region of the SIM card 19, following the editedtune, will need to be rewritten after the edited tune has been stored.

Returning again to the fifth menu d5, the user can opt to delete a tune.If the user selects this option, the user is presented with a fourteenthmenu d15 listing the names of all of the tunes defined in the SIM card19. The user can then select one of these for deletion using thenavigation key 10 and the left multifunction key 8 a. When a tune hasbeen selected for deletion, the controller 17 rewrites the tunedefinition region of the SIM card 19 so as to remove the tune definitionfor the tune to be deleted. The user is then returned to the mobilephone's main menu.

Referring to FIG. 6, if the user selects “Random” from the first menud1, the uses is presented with a fifteenth menu d16 which lists thestyles. When the user selects one of these styles, the user is presentedwith a sixteenth menu d17 which presents the user with two options,“Ring the Changes” and “Choose Now”.

If the user selects “Ring the Changes”, the controller 17 stores thestyle code followed by a null character in the tune definition region ofthe SIM card 19 and sets the selected tune location to this location.The user is then returned to the mobile phone's main menu.

At this point, it is appropriate to explain that when the user chooses apre-defined or a user defined tune to be the ring signal, as describedabove, the controller 17 additionally scans the tune definition regionof the SIM card 19 and deletes any entry which has a null characterwhere the first character of the tune's name is expected to be.

If, however, the user selects “Choose Now”, the user is presented with achoose display d18. If the user now presses the left multifunction key 8a, the generates a random sequence of sample indices and stores thissequence temporarily in a tune definition in the RAM 20 in the form:style code, null character, null character, sequence indices, nullcharacter. The controller 19 then plays the temporarily stored tunedefinition using the buzzer 22 and displays an accept/reject displayd19. If the user does not like the tune, the user presses the rightmultifunction key 8 b which returns the user to the chooser display d18.However, if the user likes the tune, the user presses the leftmultifunction key 8 a and the temporarily stored tune definition istransferred to the SIM card 19. The selected tune location is thenchanged to point to the newly added tune definition and the user isreturned to the mobile phone's main menu.

The process of playing a tune in response to an incoming call will nowbe described.

Referring to FIG. 7, when the controller 17 detects an incoming call, itenters a ring signal generation routine. In the ring signal generationroutine, the controller 17 first transfers the current tune definitionlocation to a working variable (step S1) and then tests the first byteof the current tune definition's name element to determine whether it isa null character (step S2). If it is a null character, the user hasselected a random ring signal and the controller 17 then tests the nextbyte of the current tune definition to determine whether that too is anull character (step S3). If the result at step S3 is true, the user hasselected “Ring the Changes” from the sixteenth menu d18 (FIG. 6) and thecontroller 17 generates a random sequence of samples, using the styledefined by the style code of the current tune definition in the SIM card19, and stores the resultant tune definition in the RAM 20 (step S4).The working variable is then changed to point to the newly createdrandom tune definition in the RAM 20 (step S5).

Following step S5, and if no is the answer at either of steps S2 and S3,the controller 17 enters a loop for generating the actual ring signal.

In the loop, the controller 17 initially reads the data defining thefirst note of he first sample of the tune (step S6) and then outputs asignal to the buzzer in accordance with this data (step S7). In step S7,the controller 17 waits until the note's start time and then causes theport to which the buzzer 22 is coupled to change state at a ratecorresponding to the note's pitch for the note's duration as defined bythe note data.

Once the note has started to be produced, the controller 17 determineswhether it should stop generating the ring signal, e.g. the call hasbeen answered or rejected or the calling party has terminated the call,(step S8). If so, the controller 17 exits the routine otherwise itdetermines whether the last note of the current sample has been played(step S9). The notes are read from the samples as shown in FIG. 3 usingthe style and sample index values in the current tune definition to seta note pointer variable. If the last note of the current sample has notbeen played, the controller 17 changes the note pointer variable so thatit points to the next note of the current sample (step S10).

If the last note of the current sample has been played, the controller17 changes the note pointer variable to point to the first note of thenext sample identified in the tune definition (in this scheme the lastsample is followed by the first sample so that the tune is looped) (stepS11) and returns to step S6.

Referring to FIG. 8, when a tune or a partly completed tune is to beplayed during the configuration processes described above with referenceto FIGS. 4, 5 and 6, a somewhat different ring signal generation routineis performed by the controller 17.

In this routine, the controller 17 loads the location of the definitionof the tune or partly completed tune into the working variable (stepS21). The controller 17 then reads the data for the first note from theROM 21 of the first or only sample (step S22) and plays the note asdescribed above (step S23). The controller 17 then determines whetherthe last note of the current sample has been played (step S24) and, ifnot, directs the note pointer variable to the next note of the currentsample (step S25) and returns to step S22. Otherwise, the controller 17determines whether the last sample has been played (step S26) and, ifnot, changes the note pointer variable so that it points to the firstnote of the next sample to be played (step S27). When all of the sampleshave been played, the routine terminates.

It will be appreciated that many modifications may be made to theembodiment described above. For instance, the allocation of samples todifferent styles may be omitted so that all of the samples areeffectively in the same “group”. Furthermore, a facility whereby a usercan create a sample be entering the notes to be played using the keypad.The samples could also be created by extracting the necessary controldata from a MIDI file on a personal computer and then transferring thesample data to the mobile phone using an irDA link or a serial cable.

In the embodiment described above, only the setting of the incoming callalert, i.e. ring signal, of a mobile phone has been described. The sameprocess can also be employed to set the incoming message e.g. SMSmessage, alert signal.

During manufacture, the mobile phone or other device according to thepresent invention may be programmed from a copy of the control programstored on a magnetic disk or an optical disk.

Programming of mobile phones over the air is known and the presentinvention may be implemented by programming a mobile phone with asuitable control program over the air, i.e. by means of electromagneticwaves.

1. A method comprising: facilitating detection of an incomingcommunication; generating a substantially random sequence of data, thesequence of data defining a plurality of musical samples; facilitatingstorage of the substantially random sequence of data in a memory;responding to the detection of an incoming communication by: readingsaid sequence of data from the memory, and generating an audio signal independence on said sequence of data, wherein each sample among saidsamples comprises at least one note and one of said samples comprises aplurality of notes, and wherein at least one sample comprises a firstnull character and a second null character; evaluating the first nullcharacter to determine that a user selected a random ring signal, therandom ring signal corresponds to the random sequence of data;evaluating the second null character to determine that the user made aselection regarding the audio signal; and generating a random sequenceof said samples using a style code, in response to evaluating the secondnull character, wherein said data comprises frequency-defining data andduration-defining data for each note of each sample among said samples,and wherein the frequency-defining data comprises a code representingpitch quantized according to a predetermined scale.
 2. A methodaccording to claim 1, wherein said data comprises timing data for eachnote of each sample.
 3. A method according to claim 2, wherein thepredetermined scale is the chromatic scale.
 4. A method according toclaim 1, further comprising facilitating storage of said music samplesin the memory.
 5. A method according to claim 4, further comprisingresponding to operation of a user input to generate at least one of saidsamples.
 6. A method according to claim 1, further comprising respondingto operation of a user input to generate said sequence of data.
 7. Acommunication device comprising at least one memory storing softwarecomprising instructions, the instructions comprising: a firstinstruction for facilitating detection of an incoming communication; asecond instruction for generating a substantially random sequence ofdata defining a plurality of musical samples; and a third instructionfor responding to said detected incoming communication by reading saidsubstantially random sequence of data from said memory and generating anaudio signal in dependence on said substantially random sequence ofdata, wherein each sample comprises at least one note and one of saidsamples comprises a plurality of notes, at least one sample comprises afirst null character and a second null character, and wherein said datacomprises frequency-defining data and duration-defining data for eachnote of each sample, the frequency-defining data comprising a coderepresenting pitch quantized according to a predetermined scale; afourth instruction for evaluating the first null character to determinethat a user selected a random ring signal, the random ring signalcorresponds to the random sequence of data; a fifth instruction forevaluating the second null character to determine that the user made aselection regarding the audio signal; and a sixth instruction forgenerating a random sequence of said samples using a style code, inresponse to evaluating the second null character.
 8. The communicationdevice according to claim 7, wherein said data comprises timing data foreach note of each sample.
 9. The communication device according to claim7, wherein said predetermined scale is the chromatic scale.
 10. Thecommunication device according to claim 7, further comprising a seventhinstruction for facilitating storage of said music samples in a firstmemory.
 11. The communication device according to claim 10, furthercomprising an eighth instruction for generating at least one of saidsamples in response to receipt of a user input.
 12. The communicationdevice according to claim 11, further comprising a ninth instruction forgenerating said sequence of data in response to receipt of the userinput.
 13. The communication device according to claim 7, wherein saidfirst, second and third instructions are represented by temporal orspatial variation of a physical property.
 14. The communication deviceaccording to claim 13, wherein the physical property is charge in amemory cell.
 15. The communication device according to claim 13, whereinthe physical property is magnetic field magnitude or orientation. 16.The communication device according to claim 13, wherein the physicalproperty is reflectivity.
 17. The communication device according toclaim 13, wherein the physical property is the phase or amplitude of anelectromagnetic wave.
 18. An apparatus comprising: at least oneprocessor; and at least one memory including computer program code, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus to perform at least thefollowing; facilitate detection of an incoming communication; generate asubstantially random sequence of data, the sequence of data defining aplurality of musical samples; facilitate storage of the substantiallyrandom sequence of data in the memory; respond to the detection of anincoming communication by: reading said sequence of data from thememory, and generating an audio signal in dependence on said sequence ofdata, wherein each sample among said samples comprises at least one noteand one of said samples comprises a plurality of notes, at least onesample comprises a first null character and a second null character; andevaluate the first null character to determine that a user selected arandom ring signal, the random ring signal corresponds to the randomsequence of data; evaluate the second null character to determine thatthe user made a selection regarding the audio signal; and generate arandom sequence of said samples using a style code, in response toevaluating the second null character, wherein said data comprisesfrequency-defining data and duration-defining data for each note of eachsample among said samples, and wherein the frequency-defining datacomprises a code representing pitch quantized according to apredetermined scale.
 19. A method according to claim 1, wherein each ofthe plurality of samples comprises a number identifying a style.
 20. Thecommunication device according to claim 7, wherein each of the pluralityof samples comprises a number identifying a style.
 21. The apparatusaccording to claim 18, wherein each of the plurality of samplescomprises a number identifying a style.
 22. A method according to claim1, wherein the style code is defined by a number.
 23. The communicationdevice according to claim 7, wherein the style code is defined by anumber.
 24. The apparatus according to claim 18, wherein the style codeis defined by a number.
 25. The apparatus according to claim 18, whereinsaid data comprises timing data for each note of each sample.
 26. Theapparatus according to claim 18, wherein the predetermined scale is thechromatic scale.
 27. The apparatus according to claim 18, wherein thememory is rewritable.
 28. The apparatus according to claim 18, whereinthe at least one memory and the computer program code are configured to,with the at least one processor, cause the apparatus to: facilitatereceipt of a user input: and generate at least one of said samples inresponse to receipt of the user input.
 29. The apparatus of according toclaim 28, wherein the at least one memory and the computer program codeare configured to, with the at least one processor, cause the apparatusto generate said sequence of data in response to receipt of the userinput.
 30. The apparatus according to claim 18, wherein the apparatuscomprises at least one of a mobile phone or a communication device.